fontchooserwidget: Avoid a crash
authorMatthias Clasen <mclasen@redhat.com>
Fri, 31 Dec 2021 14:49:40 +0000 (09:49 -0500)
committerMatthias Clasen <mclasen@redhat.com>
Fri, 31 Dec 2021 14:49:40 +0000 (09:49 -0500)
languages may be NULL, we need to be more careful here.

gtk/gtkfontchooserwidget.c

index e16de437c462c570781e3f46df081e12f7b4e5b6..27608eb16fbc9775a696d243defe897c3407547e 100644 (file)
@@ -603,19 +603,20 @@ maybe_update_preview_text (GtkFontChooserWidget *self,
   /* Otherwise, we make a list of representative languages */
   langs = g_hash_table_new (NULL, NULL);
 
-  for (i = 0; languages[i]; i++)
-    {
-      const PangoScript *scripts;
-      int num, j;
+  if (languages)
+    for (i = 0; languages[i]; i++)
+      {
+        const PangoScript *scripts;
+        int num, j;
 
-      scripts = pango_language_get_scripts (languages[i], &num);
-      for (j = 0; j < num; j++)
-        {
-          lang = pango_script_get_sample_language (scripts[j]);
-          if (lang)
-            g_hash_table_add (langs, lang);
-        }
-    }
+        scripts = pango_language_get_scripts (languages[i], &num);
+        for (j = 0; j < num; j++)
+          {
+            lang = pango_script_get_sample_language (scripts[j]);
+            if (lang)
+              g_hash_table_add (langs, lang);
+          }
+      }
 
   /* ... and compare it to the users default and preferred languages */
   if (g_hash_table_contains (langs, default_lang) ||